//
//  NSDate+String.h
//  MapDemo
//
//  Created by Fidetro on 16/6/28.
//  Copyright © 2016年 Fidetro. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (FIDString)


/**
 通过String转为0时区的date

 @param string       日期String
 @param formatterStr string的格式如yyyy-MM-dd HH:mm

 @return 返回date
 */
+ (NSDate *)getDateWithString:(NSString *)string stringDateFormatter:(NSString *)formatterStr;
/**
 *  通过1970转string
 */
+ (NSDate *)getDateWithStringSince1970ToSecond:(NSString *)string;


/**
 通过年月日获取date

 @param year  年
 @param month 月
 @param day   日

 @return 返回对应0时区的date
 */
+ (NSDate *)getDateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day;
/**
 
 @return 返回某年的1月1号，要注意返回的是0时区
 
 */
- (NSDate *)beginningWithYear:(NSInteger)year;

/**
 通过某年的某一周返回某一天到某一天的一周时间

 @param week 某一周
 @param year 某一年

 @return 返回某一天到某一天的一周时间[beginDate,endDate]
 */
+ (NSArray<NSDate *>*)getDateWithWeek:(NSInteger)week beginningWithYear:(NSInteger)year;

/**
 计算年龄

 @param date 出生date

 @return 返回年龄
 */
+ (NSInteger)ageWithDateOfBirth:(NSDate *)date;

/**
 计算年龄
 
 @param string       日期String
 @param formatterStr string的格式如yyyy-MM-dd HH:mm
 @return 返回年龄
 */
+ (NSInteger)ageWithString:(NSString *)string stringDateFormatter:(NSString *)formatterStr;

/**
 计算年龄
 
 @param age       年龄
 @return 返回日期String
 */
+ (NSString *)dateStringWithAge:(NSString *)age;

/**
 通过date返回星期几
 
 @param inputDate date
 
 @return 星期几
 */
+ (NSString *)weekdayStringFromDate:(NSDate*)inputDate;
@end
